const UserInfoModel = require('../models/home');

class HomeController {
    // 首页
    static async showIndex(ctx) {
        try {
            // 去数据库获取数据，返回一个数组；
            let result = await UserInfoModel.getAllInfo();
            result = result.length > 0 && result.map((item, index) => {
                return item.dataValues;
            })
            await ctx.render('index', { result });
        }catch (err) {
            ctx.body = err;
        }
        
    }

    // 渲染表单页面
    static async getPage(ctx) {
        await ctx.render('user');
    }
    
    //提交表单 
    static async postInfo(ctx) {
        try {
            // ctx.request.body是一个json对象
            if ( ctx.request.body ) {
                let position = ctx.request.body.position;
                // 处理接受到的数据， 字符串 或 数组；
                position = position instanceof Array ? position.join(',') : position;
                let data = Object.assign({}, ctx.request.body, { position });
                // 去数据表中存储post的数据；
                let result = await UserInfoModel.postInfo(data);
                result ? await ctx.redirect('/') : await ctx.redirect('/user');
            }else {
                ctx.body = {
                    msg: "提交失败"
                }
            }
        }catch(err) {
            ctx.body = {
                msg: "提交失败"
            }
        }
    }
}

module.exports = HomeController;